public class Main
{
	// Prend en argument le type de jeux (IA vs IA, etc ..)
	public static void main(String[] args)
	{
		// Description du jeu :

		// 1) choisir le mode de jeu en fonctions des arguments
		IPlayer player1;
		IPlayer player2;
		Grid grid = new Grid();

		if(args.length > 1 && args[0].equals("j"))
		{
			player1 = new Human();
			if(args[1].equals("j"))
			{
				System.out.println("Mode de jeu : Humain vs Humain");
				player2 = new Human();
			}
			else if(args[1].equals("ext"))
			{
				System.out.println("Mode de jeu : Humain vs Client Externe");
				player2 = new Extern(grid);
			}
			else
			{
				System.out.println("Mode de jeu : Humain vs IA");
				player2 = new IA(grid);
			}
		}
		else if(args.length > 1 && args[0].equals("ia"))
		{
			player1 = new IA(grid);
			if(args[1].equals("ia"))
			{
				System.out.println("Mode de jeu : IA vs IA");
				player2 = new IA(grid);
			}
			else if(args[1].equals("ext"))
			{
				System.out.println("Mode de jeu : IA vs Client Externe");
				player2 = new Extern(grid);
			}
			else
			{
				System.out.println("Mode de jeu : IA vs Humain");
				player2 = new Human();
			}
		}
		else if(args.length > 1 && args[0].equals("ext"))
		{
			player1 = new Extern(grid);
			if(args[1].equals("j"))
			{
				System.out.println("Mode de jeu : Client Externe vs Humain");
				player2 = new Human();
			}
			else
			{
				System.out.println("Mode de jeu : Client Externe vs IA");
				player2 = new IA(grid);
			}
		}
		else
		{
			System.out.println("Mode de jeu : Humain vs IA");
			player1 = new Human();
			player2 = new IA(grid);
		}

		// 3) initialise le jeu
		P4 game = new P4();
		game.newGame(grid, player1, player2);

		// 4) boucle principale
		game.play();

		// 5) fin du jeu
		game.end();
	}
}